package com.ozo.easy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ozo.easy.common.model.*;
import com.ozo.easy.entity.SysFile;
import com.ozo.easy.pojo.vo.SysFileVO;
import com.ozo.easy.pojo.dto.SysFileQueryDTO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

/**
 * 文件 服务类
 *
 * @author ozo
 * @version 1.0
 * @date 2025-02-05 15:44:53
 */
public interface ISysFileService extends IService<SysFile> {

    /**
     * 上传文件
     *
     * @param file
     * @param directory
     * @return
     */
    Long upload(MultipartFile file, String directory);

    /**
     * 下载文件
     *
     * @param id
     * @return
     */
    void download(Long id, HttpServletResponse response);

    /**
     * 删除文件
     *
     * @param batchDTO
     */
    void remove(BaseBatchDTO<Long> batchDTO);

    /**
     * 文件分页
     *
     * @param basePage
     * @param queryDTO
     * @return
     */
    PageResult<SysFileVO> page(BasePage basePage, SysFileQueryDTO queryDTO);

}
